package com.xueyi.workflow.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.xueyi.common.core.web.entity.base.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 流程审批对象 wf_process_approval
 *
 * @author xueyi
 * @date 2024-07-03
 */
@Data
@TableName(value = "wf_process_approval", excludeProperty = {"name", "status"}, autoResultMap = true)
public class WfProcessApproval extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程定义ID
     */
    private Long processId;

    /**
     * 流程定义Key
     */
    private String processKey;

    /**
     * 流程名称
     */
    private String processName;

    /**
     * 任务ID
     */
    private String taskId;

    /**
     * 节点ID
     */
    private String nodeId;

    /**
     * 节点名称
     */
    private String nodeName;

    /**
     * 审批人
     */
    private String approver;

    /**
     * 审批人ID
     */
    private Long approverId;

    /**
     * 审批类型：APPROVE/REJECT/DELEGATE/TRANSFER
     */
    private String approvalType;

    /**
     * 审批结果：PASS/REJECT/TRANSFER
     */
    private String approvalResult;

    /**
     * 审批意见
     */
    private String approvalOpinion;

    /**
     * 审批时间
     */
    private LocalDateTime approvalTime;

    /**
     * 下一步处理人
     */
    private String nextAssignee;

    /**
     * 抄送人(JSON)
     */
    private String ccUsers;

    /**
     * 通知方式(JSON)
     */
    private String notifyMethods;
}
